10 REM LOAD SCREEN & TITLE 11 : 20 POKE53280,0:POKE53281,0 30 PRINT"[147]"; 40 PRINTTAB(12)"[153]THE ADVENTURER" 50 PRINTTAB(9)"[150]BY JEAN-FRANCOIS HEON" 60 PRINTTAB(11)"JOYSTICK IN PORT#2" 70 PRINTTAB(13)"PLEASE WAIT..." 80 IFA=0THENA=1:LOAD"DJ",8,1 99 : 100 REM VARIABLES 101 : 110 DIM SCR(2,3),IT(2,3,1),NM(2,3) 120 BLOCK=16384:SH=1:MT=1:K=1:S=54272 130 X=7:Y=7:X1=0:Y1=0:V=2:M=4:MAN=1 140 FORI=0TO2:FORJ=0TO3 150 SCR(I,J)=V:V=V+1 160 READD:IT(I,J,0)=D 170 READD:IT(I,J,1)=D 175 READD:NM(I,J)=D 180 NEXT J,I 185 DATA 12,6,1,4,9,9,8,18,11,32,6,4 190 DATA 12,3,5,16,12,7,20,9,8,32,12,6 195 DATA 4,15,3,4,18,10,28,9,12,28,12,2 199 : 200 REM INITIALITION 201 : 210 FORI=55295TO56255:POKEI,9:NEXT 215 FORL=STOS+24:POKEL,0:NEXT 220 POKE56578,PEEK(56578)OR3 230 POKE56576,(PEEK(56576)AND252)OR2 240 POKE53272,(PEEK(53272)AND240)OR14 250 GOSUB 6000 260 PO=BLOCK+1024*SCR(Y1,X1)+X+Y*40 270 CO=55296+X+Y*40 280 POKE PO,74:POKECO,1 999 : 1000 REM MAN MOVES 1001 : 1005 IF MAN=0THENGOSUB5000:GOTO7000 1010 J=PEEK(56320) 1020 IF(JAND16)=0 THEN 3000 1030 IF(JAND1)=0 THENM=1:MV=-40:GOTO1080 1040 IF(JAND2)=0 THENM=2:MV=40:GOTO1080 1050 IF(JAND4)=0 THENM=3:MV=-1:GOTO1080 1060 IF(JAND8)=0 THENM=4:MV=1:GOTO1080 1070 GOTO 2000 1080 ON M GOTO 1100,1120,1140,1160 1090 GOTO 1200 1100 IFY-1=-1THENY=24:POKEPO,32:POKECO,9:Y1=Y1-1:GOSUB6000:GOTO 1200 1110 GOTO 1170 1120 IFY+1=24THENY=-1:POKEPO,32:POKECO,9:Y1=Y1+1:GOSUB6000:GOTO 1200 1130 GOTO 1170 1140 IFX-1=-1THENX=40:POKEPO,32:POKECO,9:X1=X1-1:GOSUB6000:GOTO 1200 1150 GOTO 1170 1160 IFX+1=40THENX=-1:POKEPO,32:POKECO,9:X1=X1+1:GOSUB6000:GOTO 1200 1170 IF PEEK(PO+MV)>64ANDPEEK(PO+MV)<70 THEN2000 1180 IF PEEK(PO+MV)=76 AND K=NM(Y1,X1)THEN GOSUB 4500:GOTO 1200 1190 IF PEEK(PO+MV)=76 THEN GOSUB4520:GOTO2000 1195 IF PEEK(PO+MV)>76ANDPEEK(PO+MV)<80 THEN GOSUB5000:GOTO7000 1200 ON M GOSUB 1220,1230,1240,1250 1210 GOTO 1260 1220 Y=Y-1:RETURN 1230 Y=Y+1:RETURN 1240 X=X-1:RETURN 1250 X=X+1:RETURN 1260 PQ=PO:CQ=CO 1270 PO=BLOCK+1024*SCR(Y1,X1)+X+Y*40 1280 CO=55296+X+Y*40 1290 POKE CO,1 1300 ON M GOSUB 1330,1330,1350,1370 1310 POKE PQ,32:POKE CQ,9:GOSUB 4000 1320 GOTO 2000 1330 POKE PO,71+SH:SH=SH+1:IFSH=3THENSH=1 1340 RETURN 1350 POKE PO,69+SH:SH=SH+1:IFSH=3THENSH=1 1360 RETURN 1370 POKE PO,73+SH:SH=SH+1:IFSH=3THENSH=1 1380 RETURN 1999 : 2000 REM MONSTER MOVES 2001 : 2010 MV=0 2020 IF MT=0 THEN 2500 2030 IF XA THEN MM=2:MV=1:GOTO2070 2050 IF YB THEN MM=4:MV=40 2070 IF PEEK(PM+MV)>64 AND PEEK(PM+MV)<70 THEN 1000 2080 IF PEEK(PM+MV)>69 AND PEEK(PM+MV)<76 THEN MAN=0 2090 IF PEEK(PM+MV)=76 THEN 1000 2100 ON MM GOSUB 2120,2130,2140,2150 2110 GOTO 2160 2120 A=A-1:RETURN 2130 A=A+1:RETURN 2140 B=B-1:RETURN 2150 B=B+1:RETURN 2160 PW=PM:CW=CM 2170 PM=BLOCK+1024*SCR(Y1,X1)+A+B*40 2180 CM=55296+A+B*40 2190 POKE CM,13 2200 POKE PM,76+MT:MT=MT+1:IFMT=4THENMT=1 2210 POKE PW,32:POKE CW,9 2220 GOTO 2500 2499 : 2500 REM SCORE & KEY SUB-ROUTINE 2501 : 2510 PRINT""; 2520 PRINT"[158]SCORE:"SCTAB(20)"[153]KEY NUMBER:"K"" 2530 GOTO 1000 2999 : 3000 REM SHOOT ROUTINE 3001 : 3005 GOSUB 3600:REM SOUND 3010 ON M GOTO 3020,3100,3180,3260 3020 IF Y=0 THEN 2000 3030 D=Y-5:IFD<0THEND=0 3040 FOR I=Y-1 TO D STEP-1 3050 IF I23THEND=23 3120 FOR I=Y+1 TO D 3130 IF I>Y+1 THEN PE=PT:CE=CT 3140 PT=BLOCK+1024*SCR(Y1,X1)+X+I*40 3150 CT=55296+X+I*40 3160 GOTO 3500 3170 : 3180 IF X=0 THEN 2000 3190 D=X-5:IFD<0THEND=0 3200 FOR I=X-1 TO D STEP-1 3210 IF I39THEND=39 3280 FOR I=X+1 TO D 3290 IF I>X+1 THEN PE=PT:CE=CT 3300 PT=BLOCK+1024*SCR(Y1,X1)+I+Y*40 3310 CT=55296+I+Y*40 3320 GOTO 3500 3330 : 3500 IF PEEK(PT)>64 AND PEEK(PT)<70 THENI=D:GOTO 3560 3510 IF PEEK(PT)>76 AND PEEK(PT)<80 AND MT<>0 THENI=D:MT=0:SC=SC+50:GOTO 3530 3520 IF PEEK(PT)=76 THEN I=D:GOTO 3560 3530 POKE PT,79+M:POKE CT,15 3540 FORT=0TO50:NEXT 3550 POKE PE,32:POKE CE,9 3560 NEXT:IF PEEK(PE)>79 THEN POKE PE,32:POKE CE,9 3570 IF PEEK(PT)>79 THEN POKE PT,32:POKE CT,9 3580 POKES+4,128:POKES+24,0:GOTO 2000 3600 POKES+24,15 3610 POKES+5,15:POKES+6,255 3620 POKES+1,30:POKES,0 3630 POKES+4,129 3640 RETURN 3999 : 4000 REM MAN SOUND SUB-ROUTINE 4001 : 4010 POKES+5,0:POKES+6,15 4020 POKES+24,15 4030 POKES+1,30:POKES,0 4040 POKES+4,129 4050 POKES+4,128 4060 POKES+24,0 4070 RETURN 4499 : 4500 REM KEY SOUND SUB-ROUTINE 4501 : 4510 K=K+1:SC=SC+100:NM(Y1,X1)=0 4520 POKES+5,15:POKES+6,255 4530 POKES+24,15 4540 POKES+1,244:POKES,103 4550 POKES+4,17 4560 FORT=1TO7:POKES+24,15-T*2 4570 FORI=1TO250:NEXTI,T 4580 POKES+4,16 4590 POKES+24,0 4600 RETURN 4999 : 5000 REM DEAD SOUND SUB-ROUTINE 5001 : 5005 S=54272 5010 POKES+5,244:POKES+6,103 5020 POKES+24,15 5030 POKES+1,244:POKES,0 5040 POKES+4,129 5050 FORI=1TO7000:NEXT 5060 POKES+4,128 5100 POKES+24,0 5110 RETURN 5999 : 6000 REM GHANGE SCREEN SUB-ROUTINE 6001 : 6005 POKE PX,32:POKE CX,9:POKE PM,32:POKE CM,9:MT=1 6010 POKE53272,(PEEK(53272)AND15)ORSCR(Y1,X1)*16 6020 V=BLOCK+1024*SCR(Y1,X1) 6030 POKE 648,INT(V/256) 6032 PRINT" "; 6033 IFX1=0ANDY1=0ANDK=13 THEN 8000 6034 IFK=13 THEN 6070 6035 IF NM(Y1,X1)=0 THEN MT=0:RETURN 6040 PX=BLOCK+1024*SCR(Y1,X1)+IT(Y1,X1,0)+IT(Y1,X1,1)*40 6050 CX=55296+IT(Y1,X1,0)+IT(Y1,X1,1)*40 6060 POKE PX,76:POKECX,1 6070 A=IT(Y1,X1,0)+1:B=IT(Y1,X1,1)+1 6080 PM=BLOCK+1024*SCR(Y1,X1)+A+B*40 6090 CM=55296+A+B*40 6100 POKE PM,77:POKECM,13 6110 RETURN 6999 : 7000 REM GAME OVER 7001 : 7005 POKEPO,32:POKEPX,32:POKEPM,32 7010 POKE56578,PEEK(56578)OR3 7020 POKE56576,(PEEK(56576)AND252)OR3 7030 POKE53272,(PEEK(53272)AND240)OR4 7040 POKE53272,(PEEK(53272)AND15)OR16 7050 POKE 648,4 7060 PRINT"[147]"; 7070 PRINTTAB(14)"GAME OVER" 7080 PRINTTAB(5)"(PRESS A KEY FOR A NEW GAME)" 7090 GETA$:IFA$=""THEN7090 7100 PRINTTAB(5)"[145] " 7110 CLR:RESTORE:GOTO 100 7999 : 8000 REM YOU WON! 8001 : 8010 POKE56578,PEEK(56578)OR3 8020 POKE56576,(PEEK(56576)AND252)OR3 8030 POKE53272,(PEEK(53272)AND240)OR4 8040 POKE53272,(PEEK(53272)AND15)OR16 8050 POKE 648,4 8060 PRINT"[147]"; 8070 PRINT"YOU ARE OPENING THE DOOR..." 8080 GOSUB 4500 8090 PRINT"[147]"; 8130 PRINTTAB(16)"[155][169] [223]" 8140 PRINTTAB(16)"[152] " 8150 PRINTTAB(16)"[152] " 8160 PRINTTAB(15)"[155][169] [223]" 8170 PRINTTAB(15)"[152] " 8180 PRINTTAB(15)"[152] " 8190 PRINTTAB(14)"[155][169] [223]" 8200 PRINTTAB(14)"[152] " 8210 PRINTTAB(14)"[152] " 8220 PRINTTAB(13)"[155][169] [223]" 8230 PRINTTAB(13)"[152] " 8240 PRINTTAB(13)"[152] " 8250 PRINTTAB(12)"[155][169] [223]" 8260 PRINTTAB(12)"[152] " 8270 PRINTTAB(12)"[152] " 8280 PRINTTAB(11)"[155][169] [223]" 8290 PRINTTAB(11)"[152] " 8300 PRINTTAB(11)"[152] " 8310 PRINTTAB(10)"[155][169] [223]" 8320 PRINTTAB(10)"[152] " 8330 PRINTTAB(10)"[152] " 8335 PRINTTAB(9)"[155][169] YOU'RE ESCAPING [223]"; 8340 X$=" [157][157][157][157]" 8350 A$=X$+X$+X$ 8360 X$=" [157][157][157][157][157][157]" 8370 B$=X$+X$+X$+X$+X$ 8380 X$=" [157][157][157][157][157][157][157][157]" 8390 C$=X$+X$+X$+X$+X$+X$ 8400 X$=" [157][157][157][157][157][157][157][157][157][157]" 8410 D$=X$+X$+X$+X$+X$+X$+X$ 8420 X$=" [157][157][157][157][157][157][157][157][157][157][157][157]" 8423 Y$=" THE [157][157][157][157][157][157][157][157][157][157][157][157]" 8425 Z$=" END [157][157][157][157][157][157][157][157][157][157][157][157]" 8430 E$=X$+X$+X$+Y$+Z$+X$+X$+X$ 8480 A=17:B=16:C=15:D=14:E=13:F=12:G=11:POKE646,14 8490 X=A:Y=0:GOSUB 9000:PRINT""A$:GOSUB9000:GOSUB9020:GOSUB4000:PRINT"[146]"A$ 8500 X=B:Y=1:GOSUB 9000:PRINT""B$:GOSUB9000:GOSUB9020:GOSUB4000:PRINT"[146]"B$ 8510 X=C:Y=3:GOSUB 9000:PRINT""C$:GOSUB9000:GOSUB9020:GOSUB4000:PRINT"[146]"C$ 8520 X=D:Y=5:GOSUB 9000:PRINT""D$:GOSUB9000:GOSUB9020:GOSUB5000 8525 GOSUB9000:GOSUB9020:GOSUB4000:PRINT"[146]"D$ 8530 X=E:Y=7:GOSUB 9000:PRINT""E$ 8560 X=0:Y=24:GOSUB9000 8570 PRINTTAB(9)"[155][169] MAYBE... [223]"; 8580 GOTO8580 9000 POKE782,X:POKE781,Y:SYS 65520 9010 RETURN 9020 FORI=1TO1000:NEXT:RETURN